package cn.getech.data.development.model.vo;

import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author hujz
 * @since 2020-02-19
 */
@Data
public class TableFieldMaskRulesVO implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    /**
     * 表的id
     */
    private Integer tableId;

    /**
     * 表的字段id
     */
    private Integer tableFieldId;

    /**
     * 脱敏方式: 1：MASK（用x屏蔽所有字母字符，用n屏蔽所有数字字符。） 2：MASK_SHOW_LAST_4（仅显示最后四个字符,其他用x代替。） 3：MASK_SHOW_FIRST_4（仅显示前四个字符,其他用x代替。） 4：MASK_HASH（用值的哈希值替换原值。） 5：MASK_NULL（用NULL值替换原值。） 6：MASK_NONE（原样显示） 7：MASK_DATE_SHOW_YEAR（仅显示日期字符串的年份部分，并将月份和日期默认为01/01。） 8：CUSTOM（可使用任何有效Hive UDF(返回与被屏蔽的列中的数据类型相同的数据类型)来自定义策略。）
     */
    private Integer maskType;

    /**
     * 脱敏方式对应的json配置
     */
    private String maskValue;


    /**
     * 字段名称
     */
    private String fieldName;

    /**
     * 字段类别
     */
    private String fieldType;

    /**
     * 字段的别名
     */
    private String fieldAlias;


    private Integer fieldOrder;


}
